<?php

class ProfesionalsController extends AppController {

    var $name = 'Profesionals';
    var $helpers = array('Ajax', 'Javascript', 'Time');

    function index() {
//		$this->Profesional->recursive = 0;
//		$this->set('profesionals', $this->paginate());
        return $this->Profesional->find('all', array(
            //array of field names
            'fields' => array('Profesional.nombre', 'Profesional.apellido',
                "Profesional.id"),
        ));
    }

    function view($id = null) {
        if (!$id) {
            $this->Session->setFlash(__('Profesional inválido', true));
            $this->redirect(array('action' => 'index'));
        }
        $this->set('profesional', $this->Profesional->read(null, $id));
    }

    function admin_index() {
        $this->Profesional->recursive = 0;
        $this->set('profesionals', $this->paginate());
    }

    function admin_view($id = null) {
        if (!$id) {
            $this->Session->setFlash(__('Profesional inválido', true));
            $this->redirect(array('action' => 'index'));
        }
        $this->set('profesional', $this->Profesional->read(null, $id));
    }

    function admin_add() {
        if (!empty($this->data)) {
            $this->Profesional->create();
            
            $newName = $this->Profesional->saveImage($this->params['data']['Profesional']['foto']);
            
            if (isset($newName)) {
                $this->params['data']['Profesional']['foto'] = $newName;
            } else {
                $this->params['data']['Profesional']['foto'] = null;
            }

            if ($this->Profesional->save($this->data)) {
                $this->Session->setFlash(__('El profesional ha sido guardado', true));
                $this->redirect(array('action' => 'index'));
            } else {
                $this->Session->setFlash(__('El profesional no pudo ser guardado. Por favor, intente de nuevo.', true));
            }
        }
        $users = $this->Profesional->User->find('list');
        $this->set(compact('users'));
    }

    function admin_edit($id = null) {
        if (!$id && empty($this->data)) {
            $this->Session->setFlash(__('Profesional inválido', true));
            $this->redirect(array('action' => 'index'));
        }
        if (!empty($this->data)) {

            $newName = $this->Profesional->saveImage($this->params['data']['Profesional']['foto']);
            
            if (isset($newName)) {
                $this->params['data']['Profesional']['foto'] = $newName;
            } else {
                $this->params['data']['Profesional']['foto'] = null;
            }

            if ($this->Profesional->save($this->data)) {
                $this->Session->setFlash(__('El profesional ha sido guardado', true));
                $this->redirect(array('action' => 'index'));
            } else {
                $this->Session->setFlash(__('El profesional no pudo ser guardado. Por favor, intente de nuevo.', true));
            }
        }
        if (empty($this->data)) {
            $this->data = $this->Profesional->read(null, $id);
        }
        $users = $this->Profesional->User->find('list');
        $this->set(compact('users'));
    }

    function admin_delete($id = null) {
        $profData = $this->Profesional->read();
        if (!$id) {
            $this->Session->setFlash(__('Id inválido para profesional', true));
            $this->redirect(array('action' => 'index'));
        }
        if ($this->Profesional->delete($id)) {
            $this->Profesional->delImage($profData['Profesional']['foto']);
            $this->Session->setFlash(__('Profesional eliminado', true));
            $this->redirect(array('action' => 'index'));
        }
        $this->Session->setFlash(__('El profesional no fue eliminado', true));
        $this->redirect(array('action' => 'index'));
    }

}

?>